#pragma once

namespace sf
{
	class Input;
}

class DInput
{
public:
	DInput(void);
	virtual ~DInput(void);

	virtual float mousePosX() const = 0;
	virtual float mousePosY() const = 0;

    virtual bool mouseButtonDown(int button) = 0;
};

class DInputSFML : public DInput
{
public:
	DInputSFML(const sf::Input& input);
	~DInputSFML();

	float mousePosX() const;
	float mousePosY() const;

    bool mouseButtonDown(int button);
private:
	const sf::Input& m_input;
};
